#pragma once

#include<string>
using namespace std;
class Car;
class State
{
public:
	~State(void){};
	virtual void ChangeState( Car *pCar) = 0;
	friend std::ostream& operator<<(std::ostream& os, State& state)
	{
		return os << state.m_Name << endl;
	}
protected:
	State(string name){m_Name = name;}
	string m_Name;
};

